<HTML>
  <HEAD>
    <TITLE>threadpool Documentation</TITLE>
    <LINK HREF="threadpool.css" REL="stylesheet" TYPE="text/css">
  </HEAD>
  <BODY BGCOLOR="#FFFFFF">

    <DIV CLASS="qindex">
      <TABLE BORDER="0" WIDTH="100%">
        <TR>

          <TD ALIGN="LEFT">
            <B>threadpool</B>
          </TD>
          <TD ALIGN="RIGHT">
            <A CLASS="qindex" HREF="../index.html">Overview</A> |
            <A CLASS="qindex" HREF="../reference/annotated.html">Reference</A> |
            <A CLASS="qindex" HREF="../tutorial/intro.html">Tutorial</A> |
            <A CLASS="qindex" HREF="../examples/intro.html">Examples</A> |
            <A CLASS="qindex" HREF="../design/intro.html">Design</A>
          </TD>

        </TR>
      </TABLE>
    </DIV>
    <DIV CLASS="qindex">
      <TABLE BORDER="0" WIDTH="100%">
        <TR>
          <TD ALIGN="LEFT">
            <B>Reference</B>
          </TD>
          <TD ALIGN="RIGHT">
            <A CLASS="qindex" HREF="annotated.html">Class List</A> |
            <A CLASS="qindex" HREF="functions.html">Member Functions</A> |
            <A CLASS="qindex" HREF="namespacemembers.html">Typedefs</A> |
            <A CLASS="qindex" HREF="files.html">File List</A>
          </TD>
        </TR>
      </TABLE>
    </DIV>
<!-- Generated by Doxygen 1.6.1 -->
  <div class="navpath"><a class="el" href="a00022.html">boost</a>::<a class="el" href="a00023.html">threadpool</a>
  </div>
<div class="contents">
<h1>boost::threadpool Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html">empty_controller</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SizePolicyController which provides no functionality.  <a href="a00001.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html">fifo_scheduler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SchedulingPolicy which implements FIFO ordering.  <a href="a00002.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html">future</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Experimental. Do not use in production code. TODO.  <a href="a00003.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html">immediately</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ShutdownPolicy which does not wait for any tasks or worker termination.  <a href="a00004.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html">lifo_scheduler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SchedulingPolicy which implements LIFO ordering.  <a href="a00005.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html">looped_task_func</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Looped task function object.  <a href="a00006.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html">prio_scheduler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SchedulingPolicy which implements prioritized ordering.  <a href="a00007.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html">prio_task_func</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prioritized task function object.  <a href="a00008.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html">resize_controller</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SizePolicyController which allows resizing.  <a href="a00009.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">static_size</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SizePolicy which preserves the thread count.  <a href="a00010.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">thread_pool</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thread pool.  <a href="a00011.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html">wait_for_active_tasks</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ShutdownPolicy which waits for the completion of all active tasks and the worker termination afterwards.  <a href="a00012.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html">wait_for_all_tasks</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ShutdownPolicy which waits for the completion of all tasks and the worker termination afterwards.  <a href="a00013.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00011.html">thread_pool</a>&lt; <a class="el" href="a00023.html#ac6f15485d0c9225572afc57b30f50358">task_func</a>, <br class="typebreak"/>
<a class="el" href="a00002.html">fifo_scheduler</a>, <a class="el" href="a00010.html">static_size</a>, <br class="typebreak"/>
<a class="el" href="a00009.html">resize_controller</a>, <br class="typebreak"/>
<a class="el" href="a00013.html">wait_for_all_tasks</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a7570aa50154a35bba415deb195f56ae6">fifo_pool</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00011.html">thread_pool</a>&lt; <a class="el" href="a00023.html#ac6f15485d0c9225572afc57b30f50358">task_func</a>, <br class="typebreak"/>
<a class="el" href="a00005.html">lifo_scheduler</a>, <a class="el" href="a00010.html">static_size</a>, <br class="typebreak"/>
<a class="el" href="a00009.html">resize_controller</a>, <br class="typebreak"/>
<a class="el" href="a00013.html">wait_for_all_tasks</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a80846aad706981b61bdad8cfe43f581c">lifo_pool</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00011.html">fifo_pool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a1e167909d0dce03e625576f80359b8fb">pool</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00011.html">thread_pool</a><br class="typebreak"/>
&lt; <a class="el" href="a00008.html">prio_task_func</a>, <br class="typebreak"/>
<a class="el" href="a00007.html">prio_scheduler</a>, <a class="el" href="a00010.html">static_size</a>, <br class="typebreak"/>
<a class="el" href="a00009.html">resize_controller</a>, <br class="typebreak"/>
<a class="el" href="a00013.html">wait_for_all_tasks</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a2b7a71ddf4d7c9fd40b9f5141ac518e1">prio_pool</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef function0&lt; void &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ac6f15485d0c9225572afc57b30f50358">task_func</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Pool &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">enable_if&lt; is_void&lt; typename <br class="typebreak"/>
result_of&lt; typename <br class="typebreak"/>
Pool::task_type() &gt;::type &gt;<br class="typebreak"/>
, bool &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#afb76f0c1ac6059ce7b0034d55fd9006d">schedule</a> (shared_ptr&lt; Pool &gt; const <a class="el" href="a00011.html">pool</a>, typename Pool::task_type const &amp;task)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Pool &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">enable_if&lt; is_void&lt; typename <br class="typebreak"/>
result_of&lt; typename <br class="typebreak"/>
Pool::task_type() &gt;::type &gt;<br class="typebreak"/>
, bool &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#a934b0189105928cdb7d3ac7423820742">schedule</a> (Pool &amp;<a class="el" href="a00011.html">pool</a>, typename Pool::task_type const &amp;task)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Pool , typename Runnable &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#a98f421c235cc2031811a28e3aad3cc00">schedule</a> (Pool &amp;<a class="el" href="a00011.html">pool</a>, shared_ptr&lt; Runnable &gt; const &amp;obj)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Pool , class Function &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">disable_if&lt; is_void&lt; typename <br class="typebreak"/>
result_of&lt; Function() &gt;::type &gt;<br class="typebreak"/>
, <a class="el" href="a00003.html">future</a>&lt; typename result_of<br class="typebreak"/>
&lt; Function() &gt;::type &gt;&gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#aa3a3ab4f72886455dbdf1f89da8cf2de">schedule</a> (Pool &amp;<a class="el" href="a00011.html">pool</a>, const Function &amp;task)</td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a7570aa50154a35bba415deb195f56ae6"></a><!-- doxytag: member="boost::threadpool::fifo_pool" ref="a7570aa50154a35bba415deb195f56ae6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00011.html">thread_pool</a>&lt;<a class="el" href="a00023.html#ac6f15485d0c9225572afc57b30f50358">task_func</a>, <a class="el" href="a00002.html">fifo_scheduler</a>, <a class="el" href="a00010.html">static_size</a>, <a class="el" href="a00009.html">resize_controller</a>, <a class="el" href="a00013.html">wait_for_all_tasks</a>&gt; <a class="el" href="a00011.html">boost::threadpool::fifo_pool</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fifo pool. </p>
<p>The pool's tasks are fifo scheduled task_func functors. </p>

<p>Definition at line <a class="el" href="a00016_source.html#l00202">202</a> of file <a class="el" href="a00016_source.html">pool.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a80846aad706981b61bdad8cfe43f581c"></a><!-- doxytag: member="boost::threadpool::lifo_pool" ref="a80846aad706981b61bdad8cfe43f581c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00011.html">thread_pool</a>&lt;<a class="el" href="a00023.html#ac6f15485d0c9225572afc57b30f50358">task_func</a>, <a class="el" href="a00005.html">lifo_scheduler</a>, <a class="el" href="a00010.html">static_size</a>, <a class="el" href="a00009.html">resize_controller</a>, <a class="el" href="a00013.html">wait_for_all_tasks</a>&gt; <a class="el" href="a00011.html">boost::threadpool::lifo_pool</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lifo pool. </p>
<p>The pool's tasks are lifo scheduled task_func functors. </p>

<p>Definition at line <a class="el" href="a00016_source.html#l00210">210</a> of file <a class="el" href="a00016_source.html">pool.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a1e167909d0dce03e625576f80359b8fb"></a><!-- doxytag: member="boost::threadpool::pool" ref="a1e167909d0dce03e625576f80359b8fb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00011.html">fifo_pool</a> <a class="el" href="a00011.html">boost::threadpool::pool</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A standard pool. </p>
<p>The pool's tasks are fifo scheduled task_func functors. </p>

<p>Definition at line <a class="el" href="a00016_source.html#l00226">226</a> of file <a class="el" href="a00016_source.html">pool.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2b7a71ddf4d7c9fd40b9f5141ac518e1"></a><!-- doxytag: member="boost::threadpool::prio_pool" ref="a2b7a71ddf4d7c9fd40b9f5141ac518e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00011.html">thread_pool</a>&lt;<a class="el" href="a00008.html">prio_task_func</a>, <a class="el" href="a00007.html">prio_scheduler</a>, <a class="el" href="a00010.html">static_size</a>, <a class="el" href="a00009.html">resize_controller</a>, <a class="el" href="a00013.html">wait_for_all_tasks</a>&gt; <a class="el" href="a00011.html">boost::threadpool::prio_pool</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pool for prioritized task. </p>
<p>The pool's tasks are prioritized <a class="el" href="a00008.html" title="Prioritized task function object.">prio_task_func</a> functors. </p>

<p>Definition at line <a class="el" href="a00016_source.html#l00218">218</a> of file <a class="el" href="a00016_source.html">pool.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac6f15485d0c9225572afc57b30f50358"></a><!-- doxytag: member="boost::threadpool::task_func" ref="ac6f15485d0c9225572afc57b30f50358" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef function0&lt;void&gt; <a class="el" href="a00023.html#ac6f15485d0c9225572afc57b30f50358">boost::threadpool::task_func</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Standard task function object. </p>
<p>This function object wraps a nullary function which returns void. The wrapped function is invoked by calling the operator ().</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00022.html" title="The namespace threadpool contains a thread pool and related utility classes.">boost</a> function library </dd></dl>

<p>Definition at line <a class="el" href="a00021_source.html#l00037">37</a> of file <a class="el" href="a00021_source.html">task_adaptors.hpp</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="afb76f0c1ac6059ce7b0034d55fd9006d"></a><!-- doxytag: member="boost::threadpool::schedule" ref="afb76f0c1ac6059ce7b0034d55fd9006d" args="(shared_ptr&lt; Pool &gt; const pool, typename Pool::task_type const &amp;task)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Pool &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enable_if&lt; is_void&lt; typename result_of&lt; typename Pool::task_type() &gt;::type &gt;, bool &gt;::type boost::threadpool::schedule </td>
          <td>(</td>
          <td class="paramtype">shared_ptr&lt; Pool &gt; const &nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Pool::task_type const &amp;&nbsp;</td>
          <td class="paramname"> <em>task</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00017_source.html#l00060">60</a> of file <a class="el" href="a00017_source.html">pool_adaptors.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a934b0189105928cdb7d3ac7423820742"></a><!-- doxytag: member="boost::threadpool::schedule" ref="a934b0189105928cdb7d3ac7423820742" args="(Pool &amp;pool, typename Pool::task_type const &amp;task)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Pool &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enable_if&lt; is_void&lt; typename result_of&lt; typename Pool::task_type() &gt;::type &gt;, bool &gt;::type boost::threadpool::schedule </td>
          <td>(</td>
          <td class="paramtype">Pool &amp;&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Pool::task_type const &amp;&nbsp;</td>
          <td class="paramname"> <em>task</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Schedules a task for asynchronous execution. The task will be executed once only. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>task</em>&nbsp;</td><td>The task function object. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00017_source.html#l00049">49</a> of file <a class="el" href="a00017_source.html">pool_adaptors.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a98f421c235cc2031811a28e3aad3cc00"></a><!-- doxytag: member="boost::threadpool::schedule" ref="a98f421c235cc2031811a28e3aad3cc00" args="(Pool &amp;pool, shared_ptr&lt; Runnable &gt; const &amp;obj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Pool , typename Runnable &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool boost::threadpool::schedule </td>
          <td>(</td>
          <td class="paramtype">Pool &amp;&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">shared_ptr&lt; Runnable &gt; const &amp;&nbsp;</td>
          <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Schedules a Runnable for asynchronous execution. A Runnable is an arbitrary class with a run() member function. This a convenience shorthand for pool-&gt;schedule(bind(&amp;Runnable::run, task_object)). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>\param</em>&nbsp;</td><td>obj The Runnable object. The member function run() will be exectued and should not throw execeptions. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true, if the task could be scheduled and false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="a00017_source.html#l00036">36</a> of file <a class="el" href="a00017_source.html">pool_adaptors.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="aa3a3ab4f72886455dbdf1f89da8cf2de"></a><!-- doxytag: member="boost::threadpool::schedule" ref="aa3a3ab4f72886455dbdf1f89da8cf2de" args="(Pool &amp;pool, const Function &amp;task)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Pool , class Function &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">disable_if&lt; is_void&lt; typename result_of&lt; Function() &gt;::type &gt;, <a class="el" href="a00003.html">future</a>&lt; typename result_of&lt; Function() &gt;::type &gt;&gt;::type boost::threadpool::schedule </td>
          <td>(</td>
          <td class="paramtype">Pool &amp;&nbsp;</td>
          <td class="paramname"> <em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Function &amp;&nbsp;</td>
          <td class="paramname"> <em>task</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00015_source.html#l00111">111</a> of file <a class="el" href="a00015_source.html">future.hpp</a>.</p>

</div>
</div>
</div>
    <BR>
    <DIV CLASS="qindex">
      <TABLE BORDER="0" WIDTH="100%">
        <TR>
		  <TD CLASS="tiny" ALIGN="LEFT">Copyright &copy 2005-2008 Philipp Henkel</TD>
          <TD ALIGN="RIGHT">
            <A CLASS="qindex" HREF="../index.html">Overview</A> |
            <A CLASS="qindex" HREF="../reference/annotated.html">Reference</A> |
            <A CLASS="qindex" HREF="../tutorial/intro.html">Tutorial</A> |
            <A CLASS="qindex" HREF="../examples/intro.html">Examples</A> |
            <A CLASS="qindex" HREF="../design/intro.html">Design</A>
          </TD>
        </TR>       
      </TABLE>
    </DIV>  
  </BODY>
</HTML>
